package com.ruoyi.system.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 房屋物业费管理对象 tmc_house_bill
 * 
 * @author ruoyi
 * @date 2021-04-13
 */
public class TmcHouseBill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long publicuserId;
    private TmcUser user;
    private TmcUserHouse house;
    /** 房屋ID */
    @Excel(name = "房屋ID")
    private Long houseinfoId;
    /** 房屋名称*/
    @Excel(name = "房屋名称")
    private String HouseInfoName;

    /** 费用日期，月份 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "费用日期，月份", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date billDate;

    /** 总金额，单位分 */
    @Excel(name = "总金额，单位分")
    private Double totalFee;

    /** 支付状态。0未支付，1微信支付，2线下支付 */
    @Excel(name = "支付状态。0未支付，1微信支付，2线下支付")
    private Long paystate;

    /** 社区ID */
    @Excel(name = "社区ID")
    private Long companyId;
    private List<TmcHouseSubbill> tmcHouseSubbill;

    /**创建时间*/
    @Excel(name = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createtime;

    public TmcUser getUser() {
        return user;
    }

    public void setUser(TmcUser user) {
        this.user = user;
    }

    public TmcUserHouse getHouse() {
        return house;
    }

    public void setHouse(TmcUserHouse house) {
        this.house = house;
    }

    public String getHouseInfoName() {
        return HouseInfoName;
    }

    public void setHouseInfoName(String houseInfoName) {
        HouseInfoName = houseInfoName;
    }

    public Date getCreatetime() {
        return createtime;
    }

    public void setCreatetime(Date createtime) {
        this.createtime = createtime;
    }

    public List<TmcHouseSubbill> getTmcHouseSubbill() {
        return tmcHouseSubbill;
    }

    public void setTmcHouseSubbill(List<TmcHouseSubbill> tmcHouseSubbill) {
        this.tmcHouseSubbill = tmcHouseSubbill;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPublicuserId(Long publicuserId) 
    {
        this.publicuserId = publicuserId;
    }

    public Long getPublicuserId() 
    {
        return publicuserId;
    }
    public void setHouseinfoId(Long houseinfoId) 
    {
        this.houseinfoId = houseinfoId;
    }

    public Long getHouseinfoId() 
    {
        return houseinfoId;
    }
    public void setBillDate(Date billDate) 
    {
        this.billDate = billDate;
    }

    public Date getBillDate() 
    {
        return billDate;
    }
    public void setTotalFee(Double totalFee)
    {
        this.totalFee = totalFee;
    }

    public Double getTotalFee()
    {
        return totalFee;
    }
    public void setPaystate(Long paystate) 
    {
        this.paystate = paystate;
    }

    public Long getPaystate() 
    {
        return paystate;
    }
    public void setCompanyId(Long companyId) 
    {
        this.companyId = companyId;
    }

    public Long getCompanyId() 
    {
        return companyId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("publicuserId", getPublicuserId())
            .append("houseinfoId", getHouseinfoId())
            .append("房屋名称", getHouseInfoName())
            .append("billDate", getBillDate())
            .append("totalFee", getTotalFee())
            .append("paystate", getPaystate())
            .append("companyId", getCompanyId())
            .toString();
    }
}
